package com.shiqla.amqp.comm;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃  神兽保佑
 * 　　　　┃　　　┃  代码无bug
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 * Desc ${DESC}
 * Auth Administrator
 * Date 2018/7/12/012
 */
public class ProUtils {

    private static ProUtils instance = null;

    private Properties properties = null;
    private ProUtils(){
        this.init();
    }

    public static ProUtils getInstance(){
      if(instance == null){
          synchronized (ProUtils.class){
              if(instance == null){
                  instance = new ProUtils();
              }
          }
      }
      return instance;
    }

    private void init(){
        try {
            InputStream InputStream =  ProUtils.class.getClassLoader().getResourceAsStream("application.properties");
            properties = new Properties();
            properties.load(InputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public String getProperties(String key){
        return this.properties.getProperty(key).trim();
    }

    public String getProperties(String key,String defaultValue){
        String value = this.properties.getProperty(key).trim();
        if(value.endsWith("")){
            return defaultValue;
        }else{
            return value;
        }
    }
}
